LPVOID outputbuffer, DWORD FAR *total_outlen, DWORD input_blen);
typedef QUERYHANDLER FAR *PQUERYHANDLER;
typedef struct provider_info {
PQUERYHANDLER pi_R0_1val;
PQUERYHANDLER pi_R0_allvals;
PQUERYHANDLER pi_R3_1val;
PQUERYHANDLER pi_R3_allvals;
DWORD pi_flags; // capability flags (none defined yet).
LPVOID pi_key_context;
}REG_PROVIDER;
typedef struct provider_info FAR *PPROVIDER;
typedef struct value_entA {
LPSTR ve_valuename;
DWORD ve_valuelen;
DWORD ve_valueptr;
DWORD ve_type;
}VALENTA, FAR *PVALENTA;
*/
//
// Default values for parameters that do not exist in the Win 3.1
// compatible APIs.
//
// #define WIN31_CLASS NULL
//
// API Prototypes.
//
[
usesgetlasterror,
entry("RegCloseKey"),
helpstring("Releases the handle of specified registry key"),
]
LONG WINAPI RegCloseKey([in] HKEY hKey);
#if WIN32
[
usesgetlasterror,
entry("RegConnectRegistryA"),
helpstring("Establishes a connection to predefined registry handle on another computer"),
]
LONG WINAPI RegConnectRegistry(
[in, out] LPSTR lpMachineName,
[in] HKEY hKey,
[in, out] HKEY FAR * phkResult
);
#endif
[
usesgetlasterror,
#if WIN32
entry("RegCreateKeyA"),
#else
entry("RegCreateKey"),
#endif
helpstring("Opens specified registry key if it already exists, or creates it if it doesn't exist"),
]
LONG WINAPI RegCreateKey(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in, out] HKEY FAR * phkResult
);
#if WIN32
[
usesgetlasterror,
entry("RegCreateKeyExA"),
helpstring("Opens specified registry key if it already exists, or creates it if it doesn't exist"),
]
LONG WINAPI RegCreateKeyEx(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in] DWORD Reserved,
[in, out] LPSTR lpClass,
[in] DWORD dwOptions,
[in] REGSAM samDesired,
[in] LPSECURITY_ATTRIBUTES lpSecurityAttributes,
[in, out] HKEY FAR * phkResult,
[in, out] DWORD FAR * lpdwDisposition
);
#endif
[
usesgetlasterror,
#if WIN32
entry("RegDeleteKeyA"),
#else
entry("RegDeleteKey"),
#endif
helpstring("Deletes specified registry key and all its descendents (except under Windows NT where the key can't have descendants)"),
]
LONG WINAPI RegDeleteKey(
[in] HKEY hKey,
[in] LPCSTR lpSubKey
);
#if WIN32
[
usesgetlasterror,
entry("RegDeleteValueA"),
helpstring("Removes a named value from the specified registry key"),
]
LONG WINAPI RegDeleteValue(
[in] HKEY hKey,
[in] LPCSTR lpValueName
);
#endif
[
usesgetlasterror,
#if WIN32
entry("RegEnumKeyA"),
#else
entry("RegEnumKey"),
#endif
helpstring("Enumerates subkeys of an open registry key one at a time, retrieving subkey names"),
]
LONG WINAPI RegEnumKey(
[in] HKEY hKey,
[in] DWORD dwIndex,
[in, out] LPSTR lpName,
[in] DWORD cbName
);
#if WIN32
[
usesgetlasterror,
entry("RegEnumKeyExA"),
helpstring("Enumerates subkeys of an open registry key one at a time, retrieving subkey information"),
]
LONG WINAPI RegEnumKeyEx(
[in] HKEY hKey,
[in] DWORD dwIndex,
[in, out] LPSTR lpName,
[in, out] DWORD FAR * lpcbName,
[in] DWORD lpReserved,
[in, out] LPSTR lpClass,
[in, out] DWORD FAR * lpcbClass,
[in, out] DWORD FAR * /* PFILETIME */ lpftLastWriteTime
);
[
usesgetlasterror,
entry("RegEnumValueA"),
helpstring("Enumerates the values for an open registry key one at a time, retrieving the size of the name and data block for each")
]
LONG WINAPI RegEnumValue(
[in] HKEY hKey,
[in] DWORD dwIndex,
[in, out] LPSTR lpValueName,
[in, out] DWORD FAR * lpcbValueName,
[in] DWORD lpReserved,
[in, out] DWORD FAR * lpType,
[in] DWORD lpData,
[in, out] DWORD FAR * lpcbData
);
[
usesgetlasterror,
entry("RegEnumValueA"),
helpstring("Enumerates the values for an open registry key one at a time, retrieving the name and byte data for each")
]
LONG WINAPI RegEnumValueByte(
[in] HKEY hKey,
[in] DWORD dwIndex,
[in, out] LPSTR lpValueName,
[in, out] DWORD FAR * lpcbValueName,
[in] DWORD lpReserved,
[in, out] DWORD FAR * lpType,
[in, out] BYTE FAR * lpData,
[in, out] DWORD FAR * lpcbData
);
[
usesgetlasterror,
entry("RegEnumValueA"),
helpstring("Enumerates the values for an open registry key one at a time, retrieving the name and string data for each")
]
LONG WINAPI RegEnumValueStr(
[in] HKEY hKey,
[in] DWORD dwIndex,
[in, out] LPSTR lpValueName,
[in, out] DWORD FAR * lpcbValueName,
[in] DWORD lpReserved,
[in, out] DWORD FAR * lpType,
[in, out] LPSTR lpData,
[in, out] DWORD FAR * lpcbData
);
[
usesgetlasterror,
entry("RegEnumValueA"),
helpstring("Enumerates the values for an open registry key one at a time, retrieving the name and integer data for each")
]
LONG WINAPI RegEnumValueInt(
[in] HKEY hKey,
[in] DWORD dwIndex,
[in, out] LPSTR lpValueName,
[in, out] DWORD FAR * lpcbValueName,
[in] DWORD lpReserved,
[in, out] DWORD FAR * lpType,
[in, out] DWORD FAR * lpData,
[in, out] DWORD FAR * lpcbData
);
[
usesgetlasterror,
entry("RegFlushKey"),
helpstring("Writes attributes of an open key into the registry"),
]
LONG WINAPI RegFlushKey([in] HKEY hKey);
/*
[
usesgetlasterror,
entry(""),
helpstring(""),
]
LONG WINAPI RegGetKeySecurity (
[in] HKEY hKey,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in, out] DWORD FAR * lpcbSecurityDescriptor
);
*/
[
usesgetlasterror,
entry("RegLoadKeyA"),
helpstring("Creates a subkey and stores registration information from a specified file into that subkey"),
]
LONG WINAPI RegLoadKey(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in] LPCSTR lpFile
);
[
usesgetlasterror,
entry("RegNotifyChangeKeyValue"),
helpstring("Indicates when a registry key or any of its subkeys has changed"),
]
LONG WINAPI RegNotifyChangeKeyValue(
[in] HKEY hKey,
[in] BOOL bWatchSubtree,
[in] DWORD dwNotifyFilter,
[in] HANDLE hEvent,
[in] BOOL fAsynchronus
);
#endif // WIN32
[
usesgetlasterror,
#if WIN32
entry("RegOpenKeyA"),
#else
entry("RegOpenKey"),
#endif
helpstring("Opens the specified key"),
]
LONG WINAPI RegOpenKey(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in, out] HKEY FAR * phkResult
);
#if WIN32
[
usesgetlasterror,
entry("RegOpenKeyExA"),
helpstring("Opens the specified key"),
]
LONG WINAPI RegOpenKeyEx(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in] DWORD ulOptions,
[in] REGSAM samDesired,
[in, out] HKEY FAR * phkResult
);
#endif
[
usesgetlasterror,
entry("RegQueryInfoKeyA"),
helpstring("Retrieves information about a registry key"),
]
LONG WINAPI RegQueryInfoKey(
[in] HKEY hKey,
[in, out] LPSTR lpClass,
[in, out] DWORD FAR * lpcbClass,
[in] DWORD lpReserved,
[in, out] DWORD FAR * lpcSubKeys,
[in, out] DWORD FAR * lpcbMaxSubKeyLen,
[in, out] DWORD FAR * lpcbMaxClassLen,
[in, out] DWORD FAR * lpcValues,
[in, out] DWORD FAR * lpcbMaxValueNameLen,
[in, out] DWORD FAR * lpcbMaxValueLen,
[in, out] DWORD FAR * lpcbSecurityDescriptor,
[in, out] DWORD FAR * /* PFILETIME */ lpftLastWriteTime
);
[
usesgetlasterror,
#if WIN32
entry("RegQueryValueA"),
#else
entry("RegQueryValue"),
#endif
helpstring("Retrieves value associated with u13150named value of a specified registry key"),
]
LONG WINAPI RegQueryValue(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in, out] LPSTR lpValue,
[in, out] LONG FAR * lpcbValue
);
#if WIN32
[
usesgetlasterror,
entry("RegQueryValueExA"),
helpstring("Retrieves byte array value associated with a named or unnamed value of a specified registry key"),
]
LONG WINAPI RegQueryValueEx([in] HKEY hKey,
[in] LPCSTR lpValueName,
[in] DWORD lpReserved,
[in] DWORD FAR * lpType,
[in] DWORD lpData,
[in, out] DWORD FAR * lpcbData);
[
usesgetlasterror,
entry("RegQueryValueExA"),
helpstring("Retrieves byte array value associated with a named or unnamed value of a specified registry key"),
]
LONG WINAPI RegQueryValueExByte([in] HKEY hKey,
[in] LPCSTR lpValueName,
[in] DWORD lpReserved,
[in] DWORD FAR * lpType,
[in, out] BYTE FAR * lpData,
[in, out] DWORD FAR * lpcbData);
[
usesgetlasterror,
entry("RegQueryValueExA"),
helpstring("Retrieves byte array value associated with a named or unnamed value of a specified registry key"),
]
LONG WINAPI RegQueryValueExStr([in] HKEY hKey,
[in] LPCSTR lpValueName,
[in] DWORD lpReserved,
[in] DWORD FAR * lpType,
[in, out] LPSTR lpData,
[in, out] DWORD FAR * lpcbData);
[
usesgetlasterror,
entry("RegQueryValueExA"),
helpstring("Retrieves Long value associated with a named or unnamed value of a specified registry key"),
]
LONG WINAPI RegQueryValueExInt([in] HKEY hKey,
[in] LPCSTR lpValueName,
[in] DWORD lpReserved,
[in] DWORD FAR * lpType,
[in, out] DWORD FAR * lpData,
[in, out] DWORD FAR * lpcbData);
// Win95 only
/*
[
usesgetlasterror,
entry("RegQueryMultipleValuesA"),
helpstring(""),
]
LONG WINAPI RegQueryMultipleValues(
[in] HKEY hKey,
[in, out] PVALENTA val_list,
[in] DWORD num_vals,
[in, out] LPSTR lpValueBuf,
[in, out] DWORD FAR * ldwTotsize
);
*/
[
usesgetlasterror,
entry("RegReplaceKeyA"),
helpstring("Replaces the file backing a key and all its subkeys with another file, so that when the system is next started, the key and subkeys will have the values stored in the new file"),
]
LONG WINAPI RegReplaceKey(
[in] HKEY hKey,
[in] LPCSTR lpSubKey,
[in] LPCSTR lpNewFile,
[in] LPCSTR lpOldFile
);
[
usesgetlasterror,
entry("RegSaveKeyA"),
helpstring("Reads registry information in a file and copies it over a key in the form of a key and multiple levels of subkeys"),
]
LONG WINAPI RegRestoreKey(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in] DWORD dwFlags
);
[
usesgetlasterror,
entry("RegSaveKeyA"),
helpstring("Saves a key and all of its subkeys and values to a file"),
]
LONG WINAPI RegSaveKey(
[in] HKEY hKey,
[in] LPCSTR lpFile,
[in] LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
[
usesgetlasterror,
entry("RegSetKeySecurity"),
helpstring("Sets the security of an open registry key"),